package cn.ml.gaoJi.jiHe.collections.listToMap;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;

public class ListToMap {
    public static void main(String[] args) {

        List<String> list = new ArrayList();
        list.add("1");
        list.add("1");
        list.add("3");
        list.add("3");
        list.add("4");
        list.add("10");
        list.add("5");
        list.add("6");
        list.add("2");

        Map<String,String> map1 = new HashMap<>();
        System.out.println("---------第111种，普通转换------------");
        for (String s:list) {
            if (!map1.containsKey(s)) {
                map1.put(s,s);
            }
        }
        for (String s1 : map1.keySet()) {
            System.out.println(s1 + "---"+map1.get(s1));
        }

        System.out.println("---------第2种，流式转换------------");
        //（o1,o2）->o1  代表有重复的取前面的  想取后面的  改成（o1,o2）->o2
        Map<String, String> map2 = list.stream().collect(Collectors.toMap(o -> o, Function.identity(), (o1, o2) -> o1));

        for (String s1 : map2.keySet()) {
            System.out.println(s1 + "---"+map2.get(s1));
        }


    }
}
